]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
st-theme-node-drawing: Fix centering when the image needs to be scaled
authorJasper St. Pierre <jstpierre@mecheye.net>
Sun, 2 Oct 2011 16:58:19 +0000 (12:58 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Tue, 4 Oct 2011 19:46:01 +0000 (15:46 -0400)
The translate coordinates are calculated as the offset after the scale, so it
needs to be applied after the scale as well. This fixes random centering issues
in the UI.

https://bugzilla.gnome.org/show_bug.cgi?id=660674

src/st/st-theme-node-drawing.c

index 7513a48f9ca3497aacfde82b88cd129ff90cf7ee..3e7d86f4e7e18c747521d4575e9269d3520330e3 100644 (file)
@@ -601,8 +601,8 @@ create_cairo_pattern_of_background_image (StThemeNode *node,
           x_offset = - (node->alloc_width / 2. - scaled_width / 2.);
         }
 
-      cairo_matrix_init_translate (&matrix, x_offset, y_offset);
-      cairo_matrix_scale (&matrix, scale_factor, scale_factor);
+      cairo_matrix_init_scale (&matrix, scale_factor, scale_factor);
+      cairo_matrix_translate (&matrix, x_offset, y_offset);
 
       cairo_pattern_set_matrix (pattern, &matrix);